#ifndef USERDATABASE_H
#define USERDATABASE_H

#include <QObject>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
#include <QString>
#include <QCryptographicHash>

// 用户数据库类：处理用户注册、登录等功能
class UserDatabase : public QObject
{
    Q_OBJECT
public:
    explicit UserDatabase(QObject *parent = nullptr);
    ~UserDatabase();

    // Q_INVOKABLE标记的函数可被QML直接调用
    Q_INVOKABLE bool registerUser(const QString &username, const QString &password);  // 注册用户
    Q_INVOKABLE bool loginUser(const QString &username, const QString &password);    // 用户登录
    Q_INVOKABLE bool userExists(const QString &username);                            // 检查用户是否存在

private:
    bool initDatabase();         // 初始化数据库
    QString hashPassword(const QString &password);  // 密码哈希处理

    QSqlDatabase m_db;  // 数据库连接对象
};

#endif // USERDATABASE_H
